Copyright (c) 1992 Apple Users' Group, Sydney
Republished from Applecations, a publication of the Apple Users' Group, Sydney, Australia.
Source: Internet
Answers provided by: David A. Lyons, Apple II System Software Engineer, Apple Computer, Inc. (David); Matt Deatherage, Developer Technical Support, Apple Computer, Inc. (Matt); and Marc Sira, Internet user (Marc)
Q: Hi! Would you mind letting me in on how you got to where you are at Apple? Also what courses someone might want to take in college. Thanks!
A: Apple's a big place, and it's changed since I started working here (so has the economy). If my comments are good for anything, it's the engineering areas of the company--I have no clue about getting a marketing job (and I don't want to).
Take whatever courses are relevant to what you want to do. If you want to be a software engineer, I vote for computer science classes. Go for as much theory as you can handle. Stay a little *ahead* of your classes, not behind. Concentrate on developing a good solid approach to solving problems and organizing your designs.
I wouldn't spend time taking courses that concentrate too much on a particular environment or machine--general skills are much more important. The cool environment of the day keeps changing anyway.
That said, your educational background is not what will get you in the door. You need to be the right person for some job at the right time. A good approach is to make a name for yourself by doing high-quality software for the company's hardware...commercial, shareware, or whatever; and also to hang around your favorite online services getting a reputation for having good technical knowledge of a platform, and being reasonably civilized.
In my case, I worked part-time at a third-party software developer during high school and college. I corresponded with Developer Technical Support alot. I reported a lot of GS system software bugs and offered my mostly-reasonable suggestions.
I also hung out here on comp.sys.apple2 (and on America Online and GEnie and CompuServe). And I wrote Nifty List and DIcEd, which several DTSers found useful.
Later, when they found out I was about to graduate, they offered to fly me out for an interview (between my interview and my start date, I waited through a traditional Apple hiring freeze). The rest is history (DTS from 4/89 to 8/90, then Green System Software from 8/90 to the present).
David
Q: A friend who has been using a fairly early copy of System Software 6 found that when using the DOS 3.3 FST it displays a "volume number" with the following form (roughly):
:DOS 3.3 vXXXX
The numbers he has seen for the volume numbers include v0273 and v1814. These don't seem to have any relation to the "real" DOS 3.3 volume numbers which ranged from 0-254 (single byte representation).
Is there any explanation for this, or has is it a "feature" that has changed in later development? Just curious.
A: It's working as intended--the "vXXXX" is a hash value computed from the directory contents of the disk, so that (hopefully) you'll never have two different DOS 3.3 disks that show up with the same volume name. -- There is no relation to the 0..254 volume numbers you see when running DOS 3.3.
David
Q: The System 6.0 install process seems to have deleted the basic.launcher program. How do I now run basic programs from the finder? Should I just copy the program from my System 5.0.4 disk?
A: Just double-click them! The Finder contains an icon that maps them to "*/BASIC.System". BASIC.Launcher is gone on purpose. It's no longer needed.
If you have an older icon in your system that matches BASIC programs, either take it out, or change the application pathname to */BASIC.System.
David
Q:Is it possible to print to the Stylewriter from Appleworks Classic?
A: No, sorry. The StyleWriter has no "raw text" mode, so there would have to be some conversion from a text stream to a graphics image along the way.
I know of no piece of hardware that will do that. I don't know of anyone working on a software solution, either. For ROM 1 GSs, it would have to be application-specific (patch AW 3.0). For ROM 3, serial output goes through a RAM vector, so it's theoretically do-able.
David
Q: Does the mli online call ($c5) with a drive/slot number of 0 return volume names in smartport id ascending order except for those devices returning 'no device connected' errors?
A: No, there's no guarantee about the order. The best thing to do, if you need the SmartPort number of a particular volume in ProDOS 8, is to go through all the SmartPort devices (on all SmartPort chains) in sequence looking for the one you want (reading block 2).
David
Q: My question is is this [255-point limitation] a System software or Apple IIGS hardware limitation? If it's a System software problem, I take it that there's no simple solution; the Font Manager, for example, couldn't just be patched so that there is no longer a 255 point font size limitation. If it's a hardware problem, it looks like we're stuck. Is there any way around this 63 point font size limitation?
Would the only viable solution be for Pointless to directly communicate with the Print Manager, and somehow directly send it the image of the outline font, in the highest possible resolution, rather than giving it a tremendously-oversized bitmap that must then be scaled down?
A: This is getting asked fairly often, so let's try to lay it to rest. Your cooperation in stamping out other's misunderstandings will be appreciated.
There is a 255-point limitation on fonts because the Font Manager uses a four-byte data structure known as a "font ID" to describe a font. The data structure consists of two bytes for the font family number, one byte for the QuickDraw style (bits for bold, underline, shadow, outline, italic, etc.), and one byte for the size. Since there is only one byte for the size, and since zero is invalid, this resulls in a maximum of 255 points.
Changing this data type now is almost completely impossible due to compatibility risks. Even if Dave [Lyons] were to add a lot of new Font Manager calls to accept a word-sized "size" field, none of the existing programs that use the Font Manager would take advantage of it -- they'd all have to be revised. It would cause problems for people trying to get the font information out of the Font Manager.
Matt
Q: Would the only viable solution be for Pointless to directly communicate with the Print Manager, and somehow directly send it the image of the outline font, in the highest possible resolution, rather than giving it a tremendously oversized bitmap that must then be scaled down?
A: This would work IF AND ONLY IF the printer driver in question supported this (remember, the "Print Manager" doesn't do any printing or imaging on its own; it just manages the printer and pr drivers). As of this writing, no such printer drivers exist.
Oh, and by the way, the printer driver doesn't "scale down a huge bitmap." If your printer's resolution is four times the screen
resolution, the printer driver asks for a font 4X the size of the one on the screen.
The outline font renderer (Pointless) makes a better 4X font than scaling up the 1X font, and when it's printed at the higher resolution, it looks better but comes out the same size.
Matt
Q: It is really a shame that there is no new [LaserWriter] driver [in System Software 6.0], as I have a [LaserWriter] IIf and I can't get the printer to print some colors. It seems the new printers (IIf & IIg) don't like the way the driver renders grey scaling.
A: Funny you should mention that; we identified this problem just last week or so. As it turns out, most PostScript level 2 printers automatically do the equivalent of a "sethalftone" or "setscreen" with a halftone dictionary on power-up, even though this isn't part of the level 2 language. The IIgs LaserWriter driver tries to preprocess the input to the spot function for halftone screens to help simulate different patterns. What happens on these printers is that since someone's used a halftone dictionary, 'currentscreen' no longer returns the spot function the driver was expecting. If you try to print with certain patterns or colors, the driver tries to execute a dictionary and the whole job craps out with a typecheck error.
We know how to fix it, but obviously it won't make it for 6.0. Until then, if you just avoid colors, everything prints fine (yeah, not totally reassuring, but true). This was fun to track down.
Matt
Q:I want to find out about the auxtype significance for applications in System 6.0. The Auxtype was supposed to be $DB00 for a smooth launch. When I looked at GSHK v1.05, I noticed it's auxtype is $DB07.
A: $DB is a signature byte that validates the lower byte (ie. the finder will disregard the bit flags unless the $DB is present as the high byte). Bit 0 is GSOS Aware (long pathnames), bit 1 is Desktop program (ie. expect the screen with the usual tools active, in 640 SHR mode), bit 2 is Message Centre #1 Aware. I think.
So, $0002 just means the finder is ignoring the bits...if it were $DB02 it should hopefully launch the program without ever switching out the screen/menu bar. This also causes the finder to use the cute little desktop application icon for that S16 program.
Marc
Permission is hereby granted for non-profit user groups to republish this content. PLEASE CREDIT THE AUTHOR AND THE SOURCE: Applecations, publication of the Apple Users' Group, Sydney, Australia